Wprowadzenie


Umiejętność przewidywania zachowań spółek giełdowych oraz identyfikacji spadków i wzrostów jest kluczową kompetencją współczesnych algorytmów działających na giełdzie. Szeroka gama narzędzi wspomaga maklerów w podejmowaniu decyzji inwestycyjnych. W tej dziedzinie niezwykle użyteczne okazują się sieci neuronowe, które są szeroko wykorzystywane do prognozowania cen akcji na giełdzie.

W ramach badania postanowiono zbadać działanie rekurencyjnych sieci neuronowych (LSTM) na danych dotyczących notowań giełdowych spółki Microsoft od 1 stycznia 2010 roku do 1 stycznia 2024 roku. Zbiór treningowy stanowi 80% danych, natomiast działanie modelu jest testowane na ostatnich 20% danych.

Modele LSTM charakteryzują się dużą liczbą parametrów, których właściwy dobór ma istotny wpływ na uzyskiwane wyniki predykcji. W przeprowadzonym badaniu analizowano wpływ pięciu różnych parametrów, testując dla każdego z nich cztery różne wartości.

Sprawdzane parametry to:

  • Funkcja aktywacji - mechanizm w sieciach neuronowych decydujący o tym, które informacje zostaną przekazane do kolejnych warstw, a które zostaną zignorowane lub zapomniane.

    Badane wartości: f.liniowa, f.sigmoidalna, f.ReLU, f.tangensa hiberbolicznego (tanh)

  • Rozmiar partii - liczba próbek, które są przetwarzane przez model w jednym przebiegu podczas uczenia. Wielkość partii znacząco wpływa na aktualizacje wag w trakcie treningu.

    Badane wartości: 16, 32, 64, 128

  • Optymalizator - algorytm działający w celu optymalizacji wag sieci, aby minimalizować błąd predykcji.

    Badane wartości: Adam, RMSprop, SGD, Adagrad

  • Liczba wartstw - liczba poziomów, przez które przechodzą dane w trakcie prztwarzania. Im więcej takich warstw, tym głębsze są sieci.

    Badane wartości: 2, 3, 4, 5

  • Liczba neuronów - ilość neuronów w pojedynczej warstwie. W neuronie przetwarzane są informacje sieci za pomocą wybranych funkcji aktywacyjnych i przekazywane dalej.

    Badane wartości: 50, 100, 150, 200


Dotychczasowe badania nad wykorzystaniem LSTM


W ostatnich latach znaczną popularność zyskały zaawansowane metody sztucznej inteligencji, w tym sieci neuronowe typu Long Short-Term Memory (LSTM). Technologie te znajdują zastosowanie w prognozowaniu przyszłych cen akcji, które są uzależnione od licznych czynników zewnętrznych. W literaturze przedmiotu dostępnych jest wiele badań dotyczących wykorzystania sieci LSTM do predykcji cen akcji, ze szczególnym uwzględnieniem spółki Microsoft.

W artykule zatytułowanym „Analysis and Forecast of Stock Price Based on LSTM Algorithm” omówiono wykorzystanie modelu predykcyjnyjnego LSTM do prognozowania cen zamknięcia akcji firmy Microsoft. Wyniki analizy wskazują, iż model LSTM wykazuje wysoka skuteczność prognozowania, uzyskując wartość błędu RMSE o 24,43% niższą w porównaniu do regresji grzbietowej oraz 16,69% niższą w stosunku do klasycznej sieci neuronowej (Liu, 2021).

Podobnie, w publikacji “Research on Microsoft Stock Price Prediction Based on Various Models” skupiono się na analizie zastosowania różnych modeli predykcyjnych: regresji liniowej, ARIMA oraz LSTM w prognozowaniu cen akcji firmy Microsoft. Badanie obejmowało dane z okresu od kwietnia 2015 roku do kwietnia 2021 roku. Najlepsze rezultaty uzyskano w przypadku modelu LSTM, który osiągnął znacznie niższą wartość błędu RMSE w porównaniu do regresji liniowej oraz ARIMA. Podkreślono, że zdolność modelu LSTM do uchwycenia skomplikowanych, nieliniowych wzorców w danych czyni go wyjątkowo skutecznym narzędziem w analizie szeregów czasowych (Fu, 2024).

Z kolei w pracy “Apple, Microsoft, and Amazon stock price prediction based on ARIMA and LSTM” przeprowadzono analizę porównawczą modeli ARIMA oraz LSTM w kontekście prognozowania cen akcji trzech wiodących spółek technologicznych: Apple, Microsoft oraz Amazon. Wyniki badania wskazują, iż model ARIMA osiąga wyższą dokładność prognoz w porównaniu do modelu LSTM, co zostało ocenione za pomocą wskaźników RMSE oraz \(\small R^2\). Zauważono jednak, że ograniczenia badania obejmowały pominięcie zewnętrznych czynników wpływających na ceny akcji oraz uproszczone podejście do optymalizacji modelu LSTM (Xia, 2024).


Opis danych i metodyki


Do predykcji cen firmy Microsoft zdecydowano się na wybór modelu LSTM (ang. Long Short-Term Memory), ponieważ jest on szczególnie przydatny w modelowaniu danych sekwencyjnych, takich jak szeregi czasowe, do których należą odczyty cen zamknięcia na giełdzie.

Przed zastosowaniem wspomnianego modelu dane zostały poddane normalizacji do zakresu od 0 do 1, zgodnie z poniższym wzorem:

\[ X' = \frac{X - \min(X)}{\max(X) - \min(X)} \]

Dodatkowo, dane wymagały podziału na sekwencje oraz odpowiadające im wartości docelowe. Na przykład, dla zbioru [1,2,3,4,5] tworzone są dwa podzbiory [1,2,3] oraz [2,3,4], którym odpowiadają etykiety: [4] i [5].

Firma Microsoft została wybrana do badania ze względu na jej dużą popularność, o czym świadczy przynależność do tzw. Wielkiej Piątki. Wiąże się to z szerokim dostępem do publikacji dotyczących tej spółki, co ułatwia porównanie wyników z wcześniejszymi badaniami.


Na wykresie przedstawiono dane wykorzystane w badaniu. Czerwona linia wyznacza granicę 80% danych, oznaczając podział na zbiór treningowy (po lewej stronie linii) oraz zbiór testowy (po prawej stronie).

W celu oceny dokładności prognozy oraz analizy wpływu zmian parametrów obliczono nastepujące miary jakości modelu:

  • błąd walidacyjny określający różnicę między wartościami rzeczywistymi a przewidywanymi przez model w procesie walidacji

  • średni błąd kwadratowy (RMSE) mierzy średnią różnicę między wartościami rzeczywistymi a prognozowanymi. Im wartość \(\scriptsize RMSE\) jest bliższa 0, tym dokładniejsza jest prognoza modelu, ponieważ oznacza to mniejsze błędy przewidywań. Wyznaczany jest zgodnie z poniższym wzorem:

\[ RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \]

  • współczynnik determinacji\(\scriptsize R^2\) określa, w jakim stopniu zmienność zmiennej zależnej (\(\small y\)) jest wyjaśniona przez model. Współczynnik ten przyjmuje wartości z przedziału \(\small [0,1]\), gdzie wynik bliski 1 (100%) oznacza, że model bardzo dobrze dopasowuje się do danych

\[ R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} \]

W tabelach podano średnie \(\scriptsize RMSE\) i \(\scriptsize R^2\) ze wszystkich prób dla danych parametrów.


Analiza wpływu różnych parametrów


Łącznie przeprowadzono 100 prognozowań cen akcji, 5 razy dla każdego zestawu parametrów. Badano wpływ pięciu różnych parametrów. W sprawozdaniu przedstawiony zostanie zestaw wykresów dla jednej z pięciu prób przeprowadzonych dla wszystkich parametrów w celu zaoszczędzenia miejsca oraz długości sprawozdania. Dostęp do wykresów dla wszystkich prób przeprowadzonych w ramach badania znajduje się w folderze ‘plots’, dołączonym do sprawozdania.


Funkcja aktywacji


Na poniższych wykresach zaprezentowano wyniki dla czterech analizowanych funkcji aktywacji.


Pozostałe parametry pozostają stałe:

  • rozmiar partii = 16

  • optymalizator = Adam

  • liczba warstw = 3

  • liczba neuronów = 20



Funkcja liniowa

\[h(x) = x\]



Funkcja ReLU

\[ h(x) = \begin{cases} x, & x \geq 0 \\ 0, & x \leq 0 \end{cases} \]



Funkcja sigmoidalna

\[ h(x) = \frac{1}{(1+e^{-x})}-1 \]



Funkcja tangens hiperboliczny

\[ h(x) = \frac{2}{(1+e^{-2x})}-1 \]

Średnie miary oceny jakości modelu w zależności od funkcji aktywacji

Wartości obliczono jako średnia dla wszystkich pięciu prób


Najniższy błąd walidacyjny uzyskano przy użyciu funkcji liniowej, który wyniósł około 0.00085, co idzie w parze z najniższym RMSE oraz bardzo wysokim współczynnikiem determinacji (R² ≈ 0.93) wskazującym na bardzo dobre dopasowanie modelu do danych. Dla funkcji ReLU uzyskano błąd walidacyjny rzędu 0.00193, RMSE około 16.03 oraz R² na poziomie 0.83. Choć wyniki te są nieco gorsze niż przy zastosowaniu funkcji liniowej, nadal wskazują na satysfakcjonujące dopasowanie modelu do danych. Warto wspomnieć, iż dla dwóch prób, których wyniki znajdują się w folderze plots, funkcja ReLU zaprognozowała same zera. Najsłabsze rezultaty osiągnięto przy użyciu funkcji sigmoidalnej, dla której błąd walidacyjny wyniósł około 0.00863, a współczynnik R² osiągnął wartość jedynie około 0.24, co wskazuje na znaczące niedopasowanie modelu. Podobne, choć nieco lepsze wyniki uzyskano dla funkcji tanh, gdzie błąd walidacyjny wyniósł około 0.00536. W przypadku obu tych funkcji obserwuje się tendencję do niedoszacowania modelu, szczególnie w okresach, gdy spółka Microsoft osiąga wyższe ceny na giełdzie.


Rozmiar partii


Na poniższych wykresach zaprezentowano wyniki dla zwiększającej się liczby próbek w partii.

Pozostałe parametry pozostają stałe:

  • funkcja aktywacji = f.liniowa

  • optymalizator = Adam

  • liczba warstw = 3

  • liczba neuronów = 20



16 próbek



32 próbki



64 próbki



128 próbek

Średnie miary oceny jakości modelu w zależności od rozmiaru partii

Wartości obliczono jako średnia dla wszystkich pięciu prób


Różnice wystepujące pomiędzy wynikami dla badanych rozmiarów partii nie wydają się znaczące. Błędy walidacji są do siebie zbliżone, choć w przypadku partii o wielkości 16 próbek mozna dostrzec nieznacznie lepsze wyniki w odniesieniu do pozostałych wielkości. W przypadku rozmiarów partii 32 i 64 obserwuje się wzrost błędu walidacyjnego do około 0.0013, zwiększenie RMSE, odpowiednio około 13.36 oraz 12.94, a także spadek wartości R². Zwiększenie rozmiaru partii do 128 skutkuje częściową poprawą wyników w porównaniu z wartościami dla partii 32 oraz 64 próbek, jednak nadal są one gorsze niż przy partii 16 próbek.


Optymalizator


Poniżej zaprezentowano wykresy dla różnych optymalizatorów w zbudowanym modelu.

Pozostałe parametry pozostają stałe:

  • funkcja aktywacji = f.liniowa

  • rozmiar partii = 16

  • liczba warstw = 3

  • liczba neuronów = 20



Adagrad

Adagrad automatycznie dostosowuje krok optymalizacji dla każdego parametru w oparciu o historię gradientów. Wagi, które często mają duże gradienty, otrzymują mniejsze kroki optymalizacji. Parametry rzadko aktualizowane mają większe kroki optymalizacji.

Dla optymalizatora Adagrad można zauważyć, że błąd walidacyjny zmierza do błędu trenowania. Wykres błędu różni się zdecydowanie od wykresów w innych przypadkach. Nie mamy tutaj takich wahań, ale dla początkowych epok wartości błędu są dość wysokie. Prognoza dość mocno się różni od rzeczywistych wartości.



Adam

Adam utrzymuje zbiór wykładniczo malejących średnich poprzednich gradientów i kwadratowych gradientów. Oblicza pierwszy i drugi moment gradientów, które są odpowiednio oszacowaniami średniej i niecentrowanej wariancji gradientów. Te momenty są następnie wykorzystywane do aktualizacji parametrów modelu.

Dla optymalizatora Adam błąd już zaczyna się wahać. Jednak na przestrzeni wszystkich epok błąd jest bardzo niski. Powyżej 20 epok jest on niższy niż 0.001. Tutaj prognoza jest praktycznie identyczna jak rzeczywiste wartości, stąd też takie niskie wartości błędu.



RMSprop

RMSprop to ulepszenie SGD, które dynamicznie dostosowuje krok optymalizacji w zależności od gradientów. Skaluje krok optymalizacji w zależności od wielkości gradientu – mniejsze kroki dla dużych gradientów i większe dla małych gradientów.

Dla optymalizatora RMSprop również obserwuje się znaczne wahania błędu, jednak wartości te są bardzo niskie, zwłaszcza w porównaniu do optymalizatora Adagrad. Niemniej jednak, błąd nie osiąga tak niskich wartości jak w przypadku optymalizatora Adam. Mimo to, dopasowanie prognozy jest również bardzo dobre.



SGD

SGD aktualizuje parametry w małych partiach danych treningowych, dzięki czemu jest wydajny obliczeniowo. Dostosowuje parametry w kierunku najbardziej stromego spadku funkcji straty, stopniowo zbiegając się w kierunku minimum.

Dla optymalizatora SGD ponownie jest sytuacja taka, jak dla opt. Adagrad. Wartości błędu na przestrzeni epok są bardzo wysokie. Maleje zdecydowanie wolniej niż w innych przypadkach. Wypada on tutaj najgorzej. Możemy to też zobaczyć po prognozie cen, że uzyskane wyniki znacząco się różnią od rzeczywistych.

Średnie miary oceny jakości modelu w zależności od optymalizatora

Wartości obliczono jako średnia dla wszystkich pięciu prób


Optymalizator Adam wykazuje najlepsze wyniki pod względem \(\scriptsize RMSE\) i \(\scriptsize R^2\). Niskie wartości \(\scriptsize RMSE\) wskazują na dobre dopasowanie modelu do danych, a wysokie \(\scriptsize R^2\) sugeruje, że model wyjaśnia prawie całą zmienność danych. Dla RMSprop wartości \(\scriptsize RMSE\) są wyższe niż w przypadku Adama, \(\scriptsize R^2\) jest nadal wysokie, co oznacza, że model jest dość dobrze dopasowany do danych. W przypadku Adagrad zarówno \(\scriptsize RMSE\), jak i \(\scriptsize R^2\) zdecydowanie gorzej wypadają w porównaniu do dwóch poprzednich optymalizatorów. Natomiast najgorzej wypada SGD. \(\scriptsize RMSE\) jest bardzo wysokie, a \(\scriptsize R^2\) ujemne, co oznacza, że model jest całkowicie niedopasowany do danych. Potwierdzają to również prognozy, które są dalekie od rzeczywistych.

Zdecydowanie najlepiej wypada optymalizator Adam. Daje on najniższe wartości błędu i prognoza jest najlepiej dopasowana do rzeczywistych wartości. Najgorzej natomiast wypada optymalizator SGD. W odróżnieniu od pozostałych nie wykorzystuje on adaptacyjnego tempa uczenia.


Liczba warstw


Poniżej zaprezentowano wykresy dla zwiększającej się liczby warstw w zbudowanym modelu.

Pozostałe parametry pozostają stałe:

  • funkcja aktywacji = f.liniowa

  • rozmiar partii = 16

  • optymalizator = Adam

  • liczba neuronów = 20



2 warstwy



3 warstwy



4 warstwy



5 warstw

Średnie miary oceny jakości modelu w zależności od liczby warstw

Wartości obliczono jako średnia dla wszystkich pięciu prób


Na wykresach można zaobserwować, że wraz ze wzrostem liczby warstw dokładność prognozy ulega znacznemu pogorszeniu. Trend ten potwierdzają zarówno spadek współczynnika determinacji \(\scriptsize R^2\), jak i wzrost wartości \(\scriptsize RMSE\). Dla modelu z 2 warstwami wartość \(\scriptsize R^2\) wynosi około 0.97, co oznacza, że model wyjaśnia niemal 97% zmienności danych, a \(\scriptsize RMSE\) osiąga wartość około 6.82. Natomiast dla modelu z pięcioma warstwami \(\scriptsize R^2\) spada do około 0.63, z kolei wartość \(\scriptsize RMSE\) wzrasta do około 23.75, co wskazuje na istotne pogorszenie dopasowania modelu. Wyniki te sugerują, że zwiększanie liczby warstw może prowadzić do problemów z optymalizacją modelu, skutkując znacznym obniżeniem jego zdolności predykcyjnej.


Liczba neuronów


Poniżej zaprezentowano wykresy dla zwiększającej się liczby neuronów w warstwach w zbudowanym modelu.

Pozostałe parametry pozostają stałe:

  • funkcja aktywacji = f.liniowa

  • rozmiar partii = 16

  • optymalizator = Adam

  • liczba warstw = 2



50 neuronów



100 neuronów



150 neuronów



200 neuronów

Średnie miary oceny jakości modelu w zależności od liczby neuronów

Wartości obliczono jako średnia dla wszystkich pięciu prób


Wyniki zamieszczone w powyższej tabeli wskazują, że błąd walidacyjny dla badanej liczby neuronów utrzymuje się w przedziale od około 0.00028 do 0.00032, przy czym najniższa wartość została uzyskana dla modelu z 200 neuronami. Wartości te są bardzo niskie oraz nie wykazują dużych wahań między analizowanymi wielkościami parametrów. Wraz ze wzrostem liczby neuronów obserwuje się niewielkie, choć zauważalne zmniejszenie wartości \(\scriptsize RMSE\) oraz nieznaczny wzrost współczynnika \(\scriptsize R^2\), co świadczy o poprawie dopasowania modelu do danych. \(\scriptsize RMSE\) oscyluje w okolicach 6, natomiast współczynnik determinacji pozostaje na bardzo wysokim poziomie, wynosząc około 0.97, co oznacza, że model wyjaśnia niemal 97% zmienności danych.


Podsumowanie


Przeprowadzona analiza umożliwiła zbadanie wpływu kluczowych parametrów modelu LSTM na skuteczność predykcji cen akcji spółki Microsoft. Badanie dotyczyło wpływu wielkości następujących parametrów: funkcji aktywacji, rozmiaru partii, liczby warstw, liczby neuronów oraz wyboru optymalizatora. Uzyskane wyniki wskazały na występowanie istotnej zależności pomiędzy doborem parametrów a jakością prognoz, co zostało szczegółowo omówione poniżej:

  • Funkcja aktywacji: funkcje liniowa oraz ReLU okazały się najbardziej skuteczne w kontekście prognozowania, wykazując mniejsze błędy walidacji w porównaniu z innymi funkcjami. Pozostałe z analizowanych funkcji tj. funkcja tangensa hiperbolicznego oraz funkcja sigmoidalna cechują się słabym dopasowaniem.

  • Rozmiar partii: w przypadku rozmiarów partii obserwowano zbliżone wartości błędów walidacji, jednakże w przypadku rozmiaru partii 16 próbek uzyskane wyniki były nieznacznie większe w porównaniu do pozostałych wielkości.

  • Optymalizator: optymalizator Adam wykazał się najniższymi wartościami błędów walidacyjnych oraz najwyższym stopniem dopasowania wartości do danych rzeczywistych. Najgorsze wyniki osiągnął optymalizator SGD, gdyż w porównaniu do pozostałych nie stosuje adaptacyjnego tempa uczenia.

  • Liczba warstw: zwiększenie liczby warstw prowadziło do pogorszenia predykcji i występowania większych błędów walidacji.

  • Liczba neuronów: we wszystkich analizowanych przypadkach występowały znaczące wahania błędów walidacyjnych, jednakże w przypadku liczby neuronów wynoszącej 200 zaobserwowano niższe wartości tego błędu.


Porównanie wyników


Ponad samą prognozę oraz wyznaczenie błędów predykcji postanowiono porównać wyniki dopasowania naszego modelu z innymi popularnymi rozwiązaniami stosowanymi na świecie.

Nasze wyniki zostały porównane z wynikami czterech innych rozwiązań, biorąc pod uwagę wartość błędu \(\scriptsize RMSE\) oraz współczynnik determinacji \(\scriptsize R^2\).

Wybrane metody do porówania:

  • Model regresji liniowej

  • KNN

  • Model ARIMA

  • Średnia ruchoma


W zestawieniu uwzględniono wartości \(\scriptsize RMSE\) oraz \(\scriptsize R^2\) dla najlepszego modelu uzyskanego w naszych badaniach. Najlepszy wynik osiągnięto przy następujących wartościach parametrów:

  • funkcja aktywacji = f.liniowa

  • rozmiar partii = 16

  • optymalizator = Adam

  • liczba warstw = 2

  • liczba neuronów = 200


LSTM vs regresja liniowa


Regresja liniowa stanowi jedną z najczęściej stosowanych metod analizy predykcyjnej. Metoda ta opiera się na relacjach liniowych pomiędzy zmienną zależną (wyjaśnianą) a jedną lub większą liczbą zmiennych niezależnych (predyktorów), w celu prognozowania wartości przyszłych zmiennej przewidywanej. Metoda polega na znalezieniu takiej prostej regresji, która minimalizuje sumę kwadratów błędów pomiędzy wartościami rzeczywistymi a prognozowanymi. Dzięki temu możliwe jest precyzyjne oszacowanie parametrów modelu.

W przedstawionej implementacji modelu regresji liniowej parametry podlegają optymalizacji z wykorzystaniem metody gradientu prostego (ang. gradient descent). Algorytm iteracyjnie modyfikuje wartości wag oraz wyrazu wolnego, zmierzając do minimalizacji funkcji kosztu. Przyjęto współczynnik uczenia równy 0.01 oraz liczbę iteracji na poziomie 100 000. Podział danych na zbiór treningowy i testowy został przeprowadzony w sposób analogiczny do zastosowanego w modelu LSTM.



Porównanie miar oceny jakości modeli LSTM oraz regresji liniowej


Z porównania uzyskanych miar oceny jakości modeli wynika, że model LSTM osiągnął owiele niższą wartość \(\scriptsize RMSE\) (6.823353) w stosunku do regresji liniowej (121.94). Świadczy to o lepszej dokładności prognoz modelu LSTM, co może być efektem jego zdolności do uchwycenia skomplikowanych zależności w danych czasowych. Regresja liniowa jest zbyt trywialnym rozwiązanuiem do zastosowania w przypadku cen akcji.


LSTM vs KNN


K-Nearest Neighbors (KNN) to metoda uczenia maszynowego stosowana do analizy danych i prognozowania. Jest to algorytm leniwego uczenia (lazy learning), który dokonuje predykcji na podstawie podobieństwa do najbliższych sąsiadów w zbiorze treningowym.

W kontekście prognozowania szeregów czasowych, KNN nie zakłada żadnej konkretnej struktury modelu, jak ma to miejsce w klasycznych metodach statystycznych, takich jak ARIMA. Zamiast tego, dla danej wartości prognozowanej, algorytm znajduje najbardziej podobne punkty w przeszłości i wykorzystuje ich wartości do oszacowania przyszłych zmian.



Porównanie miar oceny jakości modeli LSTM oraz KNN


Analiza uzyskanych wyników wskazuje, że model LSTM znacząco przewyższa KNN pod względem jakości prognozowania cen zamknięcia akcji. Niższa wartość błędu \(\scriptsize RMSE\) wynosząca 6.823353 sugeruje, że prognozy generowane przez model LSTM są średnio bliższe rzeczywistym wartościom w porównaniu do rezultatów uzyskanych z KNN. Wyniki te są zgodne z oczekiwaniami, ponieważ model LSTM jest w stanie rozpoznawać oraz uczyć się długoterminowych zależności, co jest szczególnie przydatne w kontekście prognozowania szeregów czasowych. Jego architektura pozwala na uchwycenie skomplikowanych wzorców w danych, dzięki czemu lepiej odwzorowuje dynamiczne zmiany na rynkach finansowych.


LSTM vs ARIMA


ARIMA jest jedną z najpopularniejszych metod wykorzystywanych w modelowaniu szeregów czasowych. Akronim ten pochodzi od angielskiego terminu Autoregressive Integrated Moving Average model, co w języku polskim tłumaczy się jako autoregresyjny zintegrowany model średniej ruchomej. Skrót ARIMA odnosi się do trzech kluczowych komponentów modelu:

  • procesu autoregresyjnego AR (ang. Autoregressive): model autoregresyjny opisuje zależność wartości szeregu czasowego od jego wcześniejszych wartości. Parametr p określa liczbę opóźnionych wartości branych pod uwagę

  • stopnia integracji I (Integrated): część “zintegrowana” oznacza różnicowanie szeregu czasowego w celu usunięcia trendu lub uzyskania stacjonarności. Parametr d określa liczbę takich różnicowań

  • procesu średniej ruchomej MA (ang. Moving Average): model średniej ruchomej opisuje zależność wartości szeregu od błędów z poprzednich kroków. Parametr q określa liczbę takich błędów branych pod uwagę

W przedstawionej implementacji modelu ARIMA przyjęto parametr rzędu autoregresji p = 5, co odpowiada uwzględnieniu pięciu opóźnionych obserwacji oraz parametr rzędu średniej ruchomej q = 5 oznaczający przyjęcie pięciu opóźnionych wartości reszt. Podział danych na zbiór treningowy i testowy został przeprowadzony w sposób analogiczny do zastosowanego w modelu LSTM. Przed przystąpieniem do modelowania, dane zostały poddane różnicowaniu w celu osiągnięcia stacjonarności.



Porównanie miar oceny jakości modeli LSTM oraz ARIMA


Analiza wyników wykazała, że model ARIMA charakteryzuje się niższą wartością błędu \(\scriptsize RMSE\) (4.97) w porównaniu do modelu LSTM (6.823353), co świadczy o wyższej precyzji prognoz generowanych przez ten model. Ponadto, wyższy współczynnik \(\scriptsize R^2\) dla modelu ARIMA, wynoszący 0.9834908, wskazuje na jego lepsze dopasowanie do danych historycznych w porównaniu do modelu LSTM, który uzyskał wartość \(\scriptsize R^2\) = 0.9693442. Uzyskane wyniki wskazują, że w analizowanym przypadku model ARIMA wykazuje wyższą trafność prognozowania cen zamknięcia akcji. Należy również podkreślić, że skuteczność modelu LSTM w dużej mierze zależy od odpowiedniego doboru parametrów oraz architektury sieci neuronowej, co może utrudniać jego optymalizację i prowadzić do problemów z przetrenowaniem.

Wyniki analizy są zbieżne z wnioskami z artykułu „Apple, Microsoft, and Amazon stock price prediction based on ARIMA and LSTM”, w którym porównano skuteczność modeli LSTM i ARIMA w prognozowaniu cen akcji. Autorzy publikacji wskazują na uzyskanie lepszych wartości miar \(\scriptsize RMSE\) oraz \(\scriptsize R^2\) dla modelu ARIMA. Ponadto podkreślono, że choć ARIMA osiągnął lepsze rezultaty dla analizowanych spółek, jego skuteczność może być ograniczona w wysokiej zmienności rynkowej lub w przypadku wystąpienia nieoczekiwanych zdarzeń, ze względu na podstawowe założenia modelu dotyczące liniowości i stacjonarności danych.


LSTM vs średnia ruchoma (MA)


Średnia ruchoma (ang. Moving Average, MA) to metoda statystyczna wykorzystywana do wygładzania szeregów czasowych poprzez obliczanie średniej arytmetycznej dla określonej liczby kolejnych obserwacji. Polega ona na przesuwaniu okna czasowego o stałej długości wzdłuż szeregu danych, przy czym dla każdego położenia okna wyznaczana jest średnia wartość obserwacji w nim zawartych. Dzięki temu metoda skutecznie redukuje krótkoterminowe fluktuacje, umożliwiając dokładniejsze wychwycenie długoterminowych trendów w danych.

W przedstawionej implementacji przyjęto długość okna równą 10 dni. Podział danych na zbiór treningowy i testowy został przeprowadzony w sposób analogiczny do zastosowanego w modelu LSTM.



Porównanie miar oceny jakości modeli LSTM oraz średniej ruchomej


Na podstawie wyników przedstawionych w tabeli można stwierdzić, że model LSTM wykazał wyższą skuteczność w prognozowaniu cen zamknięcia akcji w porównaniu do metody średniej ruchomej.Niższa wartość błędu w przypadku LSTM świadczy o jego większej precyzji w prognozowaniu cen,co sugeruje, że model ten lepiej odwzorowuje krótkoterminowe wahania rynkowe niż metoda oparta na średniej ruchomej.


Podsumowanie wyników


Na poniższych wykresach dokonano wizualizacji wyników dotyczących błędu \(\scriptsize RMSE\) oraz współczynnika determinacji \(\scriptsize R^2\) dla wszystkich omówionych wcześniej metod. Dzięki graficznej prezentacji możliwe jest łatwiejsze porównanie skuteczności poszczególnych modeli oraz wskazanie tych, które wyróżniają się najwyższą dokładnością prognoz.


Wśród zbadanych modeli predykcyjnych model ARIMA osiągnął najlepsze wyniki, charakteryzując się najniższą wartością błędu \(\scriptsize RMSE\). Oznacza to, że model ten najdokładniej odwzorowuje zależności w danych oraz generuje najbardziej precyzyjne prognozy. Model LSTM również uzyskał niski wynik dla \(\scriptsize RMSE\), jednak nadal wyższy niż ARIMA. Może to wynikać z nieodpowiedniego doboru parametrów modelu bądź niewystarczającej liczby danych treningowych. Regresja liniowa oraz KNN wypadły najgorzej , co może wynikać z ich ograniczonej zdolności do modelowania nieliniowych zależności w danych. Obiecująca tehcniką również wydaje się być MA, gdzie wynik \(\scriptsize RMSE\) wyniósło około 17.7.


Bibliografia


  1. Fu, Y. (2024). Research on Microsoft Stock Price Prediction Based on Various Models. Proceedings of the 1st International Conference on Data Science and Engineering, 11–16

  2. Liu, Y. (2021). Analysis and forecast of stock price based on LSTM algorithm. 2021 IEEE International Conference on Computer Science, Electronic Information Engineering and Intelligent Control Technology (CEI), Fuzhou, China, 76-79

  3. Wall, K. (2022). Negative R2: Where did you go wrong. Towards Data Science, https://towardsdatascience.com/negative-r2-where-did-you-go-wrong-9d4f2aa84cfb

  4. Xia, X. (2024). Apple, Microsoft, and Amazon stock price prediction based on ARIMA and LSTM. Applied and Computational Engineering, 53(1), 181–189